<TITLE>Source Code for Data Structures and Algorithm Analysis in Java</TITLE>

<BODY>
<H1>
Source Code for Data Structures and Algorithm Analysis in Java
</H1>

<p>
Here is the source code for
<I>
Data Structures and Algorithm Analysis in Java,
</I>
by Mark Allen Weiss.
<B>The materials here are copyrighted.</B>

<p>
<B>These files go in the DataStructures subdirectory.
</B>


<p>Here is each file.</p>

<p><A HREF="Comparable.java"> <B>Comparable.java</B>: Comparable interface for pre-1.2 Java</A></p>
<p><A HREF="MyInteger.java"> <B>MyInteger.java</B>: Integer interface for pre-1.2 Java</A></p>
<p><A HREF="Overflow.java"> <B>Overflow.java</B>: Overflow exception</A></p>
<p><A HREF="Underflow.java"> <B>Underflow.java</B>: Underflow exception</A></p>
<p><A HREF="ListNode.java"> <B>ListNode.java</B>: Implementation for linked list (node class)</A></p>
<p><A HREF="LinkedList.java"> <B>LinkedList.java</B>: Implementation for linked list</A></p>
<p><A HREF="LinkedListItr.java"> <B>LinkedListItr.java</B>: Implementation for linked list (iterator class)</A></p>
<p><A HREF="CursorNode.java"> <B>CursorNode.java</B>: Implementation for cursor linked list (node class)</A></p>
<p><A HREF="CursorList.java"> <B>CursorList.java</B>: Implementation for cursor linked list</A></p>
<p><A HREF="CursorListItr.java"> <B>CursorListItr.java</B>: Implementation for cursor linked list (iterator class)</A></p>
<p><A HREF="StackAr.java"> <B>StackAr.java</B>: Implementation for stack: array version</A></p>
<p><A HREF="StackLi.java"> <B>StackLi.java</B>: Implementation for stack: list version</A></p>
<p><A HREF="QueueAr.java"> <B>QueueAr.java</B>: Implementation for queue: array version</A></p>
<p><A HREF="BinaryNode.java"> <B>BinaryNode.java</B>: Implementation for binary search tree (node class)</A></p>
<p><A HREF="BinarySearchTree.java"> <B>BinarySearchTree.java</B>: Implementation for binary search tree</A></p>
<p><A HREF="AvlNode.java"> <B>AvlNode.java</B>: Implementation for AVL-tree (node declaration)</A></p>
<p><A HREF="AvlTree.java"> <B>AvlTree.java</B>: Implementation for AVL tree</A></p>
<p><A HREF="Hashable.java"> <B>Hashable.java</B>: Hashable interface</A></p>
<p><A HREF="SeparateChainingHashTable.java"> <B>SeparateChainingHashTable.java</B>: Implementation for separate chaining</A></p>
<p><A HREF="HashEntry.java"> <B>HashEntry.java</B>: Implementation for quadratic probing hash table (entry class)</A></p>
<p><A HREF="QuadraticProbingHashTable.java"> <B>QuadraticProbingHashTable.java</B>: Implementation for quadratic probing hash table</A></p>
<p><A HREF="BinaryHeap.java"> <B>BinaryHeap.java</B>: Implementation for binary heap</A></p>
<p><A HREF="LeftHeapNode.java"> <B>LeftHeapNode.java</B>: Implementation for leftist heap (node class)</A></p>
<p><A HREF="LeftistHeap.java"> <B>LeftistHeap.java</B>: Implementation for leftist heap</A></p>
<p><A HREF="BinomialNode.java"> <B>BinomialNode.java</B>: Implementation for binomial queue (node class)</A></p>
<p><A HREF="BinomialQueue.java"> <B>BinomialQueue.java</B>: Implementation for binomial queue</A></p>
<p><A HREF="Sort.java"> <B>Sort.java</B>: A collection of sorting and selection routines</A></p>
<p><A HREF="DisjSets.java"> <B>DisjSets.java</B>: Inefficient implementation of disjoint sets algorithm</A></p>
<p><A HREF="DisjSetsFast.java"> <B>DisjSetsFast.java</B>: Efficient implementation of disjoint sets algorithm</A></p>
<p><A HREF="Random.java"> <B>Random.java</B>: Implementation for random number class</A></p>
<p><A HREF="SplayTree.java"> <B>SplayTree.java</B>: Implementation for top-down splay tree</A></p>
<p><A HREF="SkipNode.java"> <B>SkipNode.java</B>: Implementation for deterministic skip list (node class)</A></p>
<p><A HREF="DSL.java"> <B>DSL.java</B>: Implementation for deterministic skip list</A></p>
<p><A HREF="Rotations.java"> <B>Rotations.java</B>: Implementation for top-down red black tree (rotations class)</A></p>
<p><A HREF="RedBlackNode.java"> <B>RedBlackNode.java</B>: Implementation for top-down red black tree (node class)</A></p>
<p><A HREF="RedBlackTree.java"> <B>RedBlackTree.java</B>: Implementation for top-down red black tree</A></p>
<p><A HREF="TreapNode.java"> <B>TreapNode.java</B>: Implementation for treap (node class)</A></p>
<p><A HREF="Treap.java"> <B>Treap.java</B>: Implementation for treap</A></p>
<p><A HREF="AANode.java"> <B>AANode.java</B>: Implementation for AA-tree (node class)</A></p>
<p><A HREF="AATree.java"> <B>AATree.java</B>: Implementation for AA-tree</A></p>
<p><A HREF="PairNode.java"> <B>PairNode.java</B>: Implementation for pairing heap (node class)</A></p>
<p><A HREF="PairHeap.java"> <B>PairHeap.java</B>: Implementation for pairing heap</A></p>

</BODY>
